package com.hc.trans;


import com.hc.common.bean.PageBean;
import com.hc.domain.Category;
import com.hc.domain.Technology;
import com.hc.res.CategoryDTO;
import com.hc.res.TechnologyDTO;
import org.mapstruct.Mapper;
import org.mapstruct.MappingTarget;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * @ClassName:CategoryTrans
 * @Author:吴肖扬
 * @Date：2021/11/22 上午 11:32
 * @Describe：
 */
@Mapper
public interface CategoryTrans {
    CategoryTrans MAPPER = Mappers.getMapper(CategoryTrans.class);

    /**
     * 将User转换成UserBO
     * @param category
     * @return
     */
    CategoryDTO category2CategoryBo(Category category);


    /**
     * 将PageBean<Category>转换为PageBean<CategoryBO>
     * @param category
     * @return
     */
    PageBean<CategoryDTO> category2CategoryBO(PageBean<Category> category);

    /**
     * 将PageBean<Category>转换为PageBean<CategoryBO>
     * @param categoryPageBean
     * @param categoryBOPageBean
     */
    void category2CategoryBO(PageBean<Category> categoryPageBean, @MappingTarget PageBean<CategoryDTO> categoryBOPageBean);

    List<CategoryDTO> categoryList2CategoryDTOList(List<Category> categoryList);

    /**
     * 将PageBean<technology>转换为PageBean<TechnologyDTO>
     * @return
     */
    PageBean<CategoryDTO> category2CategoryDTO(PageBean<Category> category);
}